package com.zhoukai.manage.form;

import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;

/**
 * author:zkai
 * date: 2024/1/30 15:38
 * description: TODO
 * version:1.0
 */
@Data
public class LicenseCreateForm implements Serializable {

    private static final long serialVersionUID = -7793154252684580872L;

    /**
     * 项目名称
     */
    @NotBlank(message = "项目不能为空")
    private String project;

    /**
     * 证书生效时间
     */
    @NotBlank(message = "证书生效时间不能为空")
    private String issuedTime;

    /**
     * 证书失效时间
     */
    @NotBlank(message = "证书失效时间不能为空")
    private String expiryTime;

    /**
     * 公钥
     */
    @NotBlank(message = "公钥不能为空")
    private String secretKey;

    /**
     * 额外的服务器硬件校验信息
     */
    @Valid
    private LicenseCheckModel licenseCheckModel;

    @Data
    public static class LicenseCheckModel implements Serializable {

        private static final long serialVersionUID = 8600137500316662317L;

        /**
         * 可被允许的IP地址
         */
        private List<String> ipAddress;

        /**
         * 可被允许的MAC地址
         */
        private List<String> macAddress;

        /**
         * 可被允许的CPU序列号
         */
        private String cpuSerial;

        /**
         * 可被允许的主板序列号
         */
        private String mainBoardSerial;

    }
}
